Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

create images dynamically #15

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pbruski
Copy link

@pbruski pbruski commented Jun 3, 2020

What do you think about this approach? We won't be dependent on upstream image updates, we will use official images and we get support for multiple ubuntu releases for free.

If you think it's a good idea, I'll rip out the support for docker image building, it's no longer needed.

@pbruski pbruski requested a review from a team as a code owner June 3, 2020 14:38
@dagguh
Copy link
Contributor

dagguh commented Jun 3, 2020

So it's "build on release" vs "build on runtime"? ssh-ubuntu is mostly used for CI, so startup time is crucial for dev loops. What's the startup time difference? Also if Docker layer caching helps in the runtime case, we can measure the repeat-build (warm cache) scenario.

Also paging @wyrzyk as the primary author of this module 😉

@pbruski
Copy link
Author

pbruski commented Jun 3, 2020

So it's "build on release" vs "build on runtime"? ssh-ubuntu is mostly used for CI, so startup time is crucial for dev loops. What's the startup time difference?

There's next to no difference - you either download the image or build it locally, so it's very similar in terms of performance.

@wyrzyk
Copy link
Contributor

wyrzyk commented Jun 4, 2020

It was optimised to build the image once and then benefit from a faster and more stable dev loop. Maybe it's possible to support both approaches? 🤔

@wyrzyk
Copy link
Contributor

wyrzyk commented Jun 4, 2020

But locally you download it once.

@pbruski
Copy link
Author

pbruski commented Jun 4, 2020

But locally you download it once.

And you build it only once too, all subsequent runs come from cache.

@dagguh
Copy link
Contributor

dagguh commented Jun 4, 2020

I get the build once part, caching is a feature of building itself.
But where's the upload part?

@pbruski
Copy link
Author

pbruski commented Jun 4, 2020

I get the build once part, caching is a feature of building itself.
But where's the upload part?

There's no upload. We don't really need to upload it.

@dagguh
Copy link
Contributor

dagguh commented Jun 4, 2020

Ok, so without upload, it will not download at all correct? I'm confused because:

you either download the image or build it locally

and

But locally you download it once.

@pbruski
Copy link
Author

pbruski commented Jun 4, 2020

Ok, so without upload, it will not download at all correct? I'm confused because:

you either download the image or build it locally

and

But locally you download it once.

I was talking about the data needed to build the image.

@dagguh
Copy link
Contributor

dagguh commented Jun 4, 2020

Ok, so it's clear.
Before: download final image
After: download dependencies + build final image

So "after" could be slower than "before", that's why I asked for the difference.
You said:

There's next to no difference - you either download the image or build it locally, so it's very similar in terms of performance.

Was it assumed or tested?

Copy link
Contributor

@dagguh dagguh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's see the duration of SshUbuntuContainer.start on CI: before/after.

  • duration on CI: before/after

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants